package com.cal.utms.entity;

import java.io.Serializable;

import javax.persistence.*;

import com.cal.utms.enumType.InterestRate;
import com.cal.utms.enumType.InterestType;
import com.cal.utms.enumType.WithholdingTax;


/**
 * The persistent class for the instrument_type database table.
 * 
 */
@Entity
@Table(name="instrument_type")
@NamedQuery(name="InstrumentType.findAll", query="SELECT i FROM InstrumentType i")
public class InstrumentType implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int id;
	
	@Column(name="CALCULATION_INPUT")
	private byte calculationInput;

	@Column(name="COUPON_AVAILABILITY")
	private byte couponAvailability;

	@Column(name="CUPON_FREQUENCY")
	private int cuponFrequency;

	@Column(name="DAY_BASIS")
	private String dayBasis;

	private byte denominals;

	@Column(name="INSTRUMENT_NAME")
	private String instrumentName;

	@Column(name="INTEREST_RATE", columnDefinition="enum('F','V')")
	@Enumerated(EnumType.STRING)
	private InterestRate interestRate;

	@Column(name="INTEREST_TYPE", columnDefinition="enum('S','D')")
	@Enumerated(EnumType.STRING)
	private InterestType interestType;

	@Column(name="INSTRUMENT_TYPE", columnDefinition="enum('G','O')")
	@Enumerated(EnumType.STRING)
	private com.cal.utms.enumType.InstrumentType instrumentType;

	private byte listed;

	private byte scripts;
	
	@Column(name="SHORT_MATURABLE")
	private byte shortMaturable;

	public byte getShortMaturable() {
		return shortMaturable;
	}

	public void setShortMaturable(byte shortMaturable) {
		this.shortMaturable = shortMaturable;
	}

	@Column(name="WITHHOLDING_TAX", columnDefinition="enum('N','U', 'M')")
	@Enumerated(EnumType.STRING)
	private WithholdingTax withholdingTax;

	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	
	public byte getCalculationInput() {
		return calculationInput;
	}

	public void setCalculationInput(byte calculationInput) {
		this.calculationInput = calculationInput;
	}

	public byte getCouponAvailability() {
		return this.couponAvailability;
	}

	public void setCouponAvailability(byte couponAvailability) {
		this.couponAvailability = couponAvailability;
	}

	public int getCuponFrequency() {
		return this.cuponFrequency;
	}

	public void setCuponFrequency(int cuponFrequency) {
		this.cuponFrequency = cuponFrequency;
	}

	public String getDayBasis() {
		return this.dayBasis;
	}

	public void setDayBasis(String dayBasis) {
		this.dayBasis = dayBasis;
	}

	public byte getDenominals() {
		return this.denominals;
	}

	public void setDenominals(byte denominals) {
		this.denominals = denominals;
	}

	public String getInstrumentName() {
		return this.instrumentName;
	}

	public void setInstrumentName(String instrumentName) {
		this.instrumentName = instrumentName;
	}

	public InterestRate getInterestRate() {
		return this.interestRate;
	}

	public void setInterestRate(InterestRate interestRate) {
		this.interestRate = interestRate;
	}

	public InterestType getInterestType() {
		return this.interestType;
	}

	public void setInterestType(InterestType interestType) {
		this.interestType = interestType;
	}

	public com.cal.utms.enumType.InstrumentType getIstrumentType() {
		return this.instrumentType;
	}

	public void setInstrumentType(com.cal.utms.enumType.InstrumentType g) {
		this.instrumentType = g;
	}

	public byte getListed() {
		return this.listed;
	}

	public void setListed(byte listed) {
		this.listed = listed;
	}

	public byte getScripts() {
		return this.scripts;
	}

	public void setScripts(byte scripts) {
		this.scripts = scripts;
	}

	public WithholdingTax getWithholdingTax() {
		return this.withholdingTax;
	}

	public void setWithholdingTax(WithholdingTax m) {
		this.withholdingTax = m;
	}

}